JP2024050248A - 画像処理装置、ステレオカメラ装置及び画像処理方法 - Google Patents

画像処理装置、ステレオカメラ装置及び画像処理方法 Download PDF

Info

Publication number
JP2024050248A
JP2024050248A JP2022156989A JP2022156989A JP2024050248A JP 2024050248 A JP2024050248 A JP 2024050248A JP 2022156989 A JP2022156989 A JP 2022156989A JP 2022156989 A JP2022156989 A JP 2022156989A JP 2024050248 A JP2024050248 A JP 2024050248A
Authority
JP
Japan
Prior art keywords
image
virtual
distance
subject
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022156989A
Other languages
English (en)
Inventor
弘理 外舘
英次郎 渋沢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2022156989A priority Critical patent/JP2024050248A/ja
Publication of JP2024050248A publication Critical patent/JP2024050248A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】被写体までの距離をより精度良く測定することができる技術を提供する。【解決手段】画像処理装置は、取得部と、制御部とを備える。取得部は、基準位置で撮像により生成された基準画像のデータと、基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得する。制御部は、参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、基準画像における被写体の位置と複数の仮想画像のそれぞれにおける被写体の位置とを比較した結果に基づいて、基準位置から被写体までの距離を取得する。仮想平面は、仮想平面の法線方向に沿って基準位置から設定距離離れて位置する。複数の仮想平面のそれぞれの設定距離は、異なる。【選択図】図1

Description

本開示は、画像処理装置、ステレオカメラ装置及び画像処理方法に関する。
特許文献1には、第1の視野及び第1の光軸を有する第1のカメラと、第2の視野及び第2の光軸を有する第2のカメラとを備える撮像システムが開示されている。特許文献1には、第1の視野及び第2の視野が少なくとも部分的に重複し、組み合わされた視野を形成することが記載されている。
特表2020-522906号公報
被写体までの距離をより精度良く測定することが求められる。
かかる点に鑑みてなされた本開示の目的は、被写体までの距離をより精度良く測定することができる技術を提供することにある。
本開示の一実施形態に係る画像処理装置は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得する取得部と、
前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得する制御部と、備え、
前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
前記複数の仮想平面のそれぞれの前記設定距離は、異なる。
本開示の一実施形態に係るステレオカメラ装置は、
基準位置で撮像により基準画像を生成し、前記基準画像とは異なる位置で撮像により参照画像を生成するステレオカメラと、
前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得する画像処理装置と、を備え、
前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
前記複数の仮想平面のそれぞれの前記設定距離は、異なる。
本開示の一実施形態に係る画像処理方法は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得することと、
前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得することと、を含み、
前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
前記複数の仮想平面のそれぞれの前記設定距離は、異なる。
本開示の一実施形態によれば、被写体までの距離をより精度良く測定することができる技術を提供することができる。
本開示の一実施形態に係るステレオカメラ装置の概略構成を示すブロック図である。 図1に示すステレオカメラ装置が搭載される移動体を模式的に示す側面図である。 図1に示すステレオカメラ装置が搭載される移動体を模式的に示す正面図である。 第1仮想画像及び第1仮想平面を説明するための図である。 第1仮想画像における第1被写体の位置を説明するための図である。 第2仮想画像及び第2仮想平面を説明するための図である。 第2仮想画像における第2被写体の位置を説明するための図である。 集約方向を説明するための図である。 補間処理の他の例を説明するための図である。 補間処理のさらに他の例を説明するための図である。 第1距離に対する第1コスト値のグラフ及び第2距離に対する第2コスト値のグラフを示す図である。 本開示の一実施形態に係る画像処理方法の手順を示すフローチャートである。 魚眼レンズによって撮像された画像を説明するための図である。
本開示において「ワールド座標系」とは、カメラの外部の実空間に基づいて設定された3次元座標系である。本開示において「カメラ座標系」は、カメラの位置を基準として設定される3次元座標系である。カメラ座標系とワールド座標系との間の変換は、カメラの外部パラメータによって規定される。本開示において「カメラの外部パラメータ」は、カメラの位置姿勢を意味する。本開示において「カメラの位置姿勢」とは、ワールド座標系において、基準となる位置に対するカメラの位置及び基準となる方向に対するカメラの傾き(姿勢)を意味する。
本開示において「画像座標系」とは、カメラが生成した画像において設定される2次元座標系である。本開示において「カメラの内部パラメータ」は、カメラの焦点距離及び画像座標系の画像中心の情報を含む。
本開示において「正規化画像座標系」とは、カメラの画像座標系を正規化した2次元座標系である。正規化画像座標系は、カメラの光軸上の点が原点となり、カメラの焦点距離が1となるように正規化される。正規化画像座標系を構成する2つの軸は、カメラの光軸に直交する。
本開示において、被写体を含む画像とは、被写体が描画された画像を意味する。被写体を含む画素とは、被写体が描画された画素を意味する。
以下、本開示に係る実施形態について、図面を参照して説明する。
(ステレオカメラ装置の構成)
図1に示すように、ステレオカメラ装置1は、ステレオカメラ10と、画像処理装置20とを備える。図2及び図3に示すように、ステレオカメラ装置1は、例えば、移動体30に搭載される。
移動体30は、路面上を走行する。路面は、例えば、道路又は滑走路等を含む走行路の表面である。移動体30は、例えば、自動車、産業車両、鉄道車両又は生活車両等の車両である。ただし、移動体30は、車両に限定されない。他の例として、移動体30は、航空機、船舶又はドローン等であってもよい。航空機は、例えば、固定翼機又は回転翼機等である。
ステレオカメラ10と画像処理装置20とは、有線又は無線通信により通信可能である。ステレオカメラ10と画像処理装置20とは、ネットワークを介して通信してよい。ネットワークは、例えば、有線LAN(Local Area Network)、無線LAN又はCAN(Controller Area Network)等である。ステレオカメラ10及び画像処理装置20は、移動体30内の電子制御ユニット(ECU:Electronic Control Unit)と通信可能に構成されてよい。
ステレオカメラ10は、移動体30の種々の箇所に搭載されてよい。複数の実施形態のうちの1つにおいて、ステレオカメラ10は、車両である移動体30の内部に搭載され、ウインドシールドを介して移動体30の外部を撮像してよい。例えば、ステレオカメラ10は、ルームミラーの前方、又は、ダッシュボード上に配置される。複数の実施形態の1つにおいて、ステレオカメラ10は、車両のフロントバンパー、フェンダーグリル、サイドフェンダー、ライトモジュール及びボンネットの何れかに固定されてよい。
画像処理装置20は、移動体30の種々の箇所に搭載されてよい。例えば、画像処理装置20は、移動体30のダッシュボード内に搭載されてよい。
図2及び図3では、ステレオカメラ10と画像処理装置20とは、離れて位置する。ただし、ステレオカメラ10と画像処理装置20とは、同じ筺体内に収納され、一体的に構成されてよい。
ステレオカメラ10は、互いに視差を有し、互いに協働する複数のカメラを含む。ステレオカメラ10は、少なくとも2つ以上のカメラを含む。本実施形態では、ステレオカメラ10は、第1カメラ11と、第2カメラ12とを含む。ステレオカメラ10は、複数のカメラを協働させて、複数の方向から対象を撮像することが可能である。ステレオカメラ10は、同じ筐体に複数のカメラが含まれる機器であってよい。ステレオカメラ10は、互いに独立し、且つ、互いに離れて位置する2台以上のカメラを含む機器であってよい。ただし、ステレオカメラ10は、互いに独立した複数のカメラに限定されない。本開示のステレオカメラ10には、例えば、離れた2箇所に入射される光を1つの受光素子に導く光学機構を有するカメラを採用することもできる。本開示では、同じ被写体を異なる視点から撮像して生成された複数の画像は、「ステレオ画像」とも記載される。
第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は、画像のデータを撮像により生成する。画像のデータは、撮像素子で結像された画像を表すデータである。
第1カメラ11及び第2カメラ12は、例えば、互いに固定される。第1カメラ11と第2カメラ12との間では、例えば第1カメラ11と第2カメラ12とが互いに固定されることにより、相対的な位置姿勢が互いに定められる。
第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の撮像素子の受光面への光軸ОX1の交点との間のレンズの中心の距離に相当する。基線長方向は、第1カメラ11の光学中心と第2カメラ12の光学中心とを結ぶ方向である。
図2に示すように、第1カメラ11及び第2カメラ12は、移動体30の前方を撮像可能となるように配置される。例えば、第1カメラ11の光軸ОX1及び第2カメラ12の光軸OX2が移動体30の直進方向と平行となるように、第1カメラ11及び第2カメラ12が配置される。
第1カメラ11及び第2カメラ12は、光軸OX1及び光軸ОX2に交わる方向において離れて位置する。複数の実施形態のうちの1つにおいて、第1カメラ11及び第2カメラ12は、移動体30の左右方向に沿って離れて位置する。第1カメラ11は、前方を向いたときに第2カメラ12の左側に位置する。第2カメラ12は、前方を向いたときに第1カメラ11の右側に位置する。
第1カメラ11は、被写体を撮像して基準画像を生成する。基準画像が撮像により生成される位置すなわち第1カメラ11の位置は、「基準位置」とも記載される。第2カメラ12は、被写体を撮像して参照画像を生成する。参照画像が撮像により生成される位置すなわち第2カメラ12の位置は、第1カメラ11の位置とは異なる。第1カメラ11の位置と第2カメラ12の位置とが異なることにより、同じ被写体であっても、基準画像における被写体の位置と参照画像における被写体の位置とは、異なる。基準画像及び参照画像は、異なる視点から被写体を撮像して生成されたステレオ画像となる。第1カメラ11及び第2カメラ12は、所定のフレームレート(例えば30fps)で被写体を撮像してよい。
図1に示すように、画像処理装置20は、取得部21と、出力部22と、記憶部23と、制御部24とを備える。
取得部21は、画像処理装置20の入力用インタフェースである。取得部21は、ステレオカメラ10及び他の装置から情報の入力を受け付け可能である。取得部21には、物理コネクタ、及び、無線通信モジュールが採用可能である。物理コネクタには、電気信号による伝送に対応した電気コネクタ、光信号による伝送に対応した光コネクタ、及び、電磁波による伝送に対応した電磁コネクタが含まれる。電気コネクタには、IEC60603に準拠するコネクタ、USB規格に準拠するコネクタ、RCA端子に対応するコネクタ、EIAJ CP-1211Aに規定されるS端子に対応するコネクタ、EIAJ RC-5237に規定されるD端子に対応するコネクタ、HDMI(登録商標)規格に準拠するコネクタ、及び、BNCを含む同軸ケーブルに対応するコネクタが含まれる。光コネクタには、IEC 61754に準拠する種々のコネクタが含まれる。無線通信モジュールには、Bluetooth(登録商標)、及び、IEEE802.11を含む各規格に準拠する無線通信モジュールが含まれる。
取得部21は、第1カメラ11が生成した基準画像のデータと、第2カメラ12が生成した参照画像のデータとを取得する。取得部21は、取得した基準画像のデータ及び参照画像のデータを、制御部24に出力する。取得部21は、ステレオカメラ10のデータの伝送方式に対応してよい。取得部21は、ネットワークを介してステレオカメラ10の出力用インタフェースに接続されてよい。取得部21は、ネットワークを介して移動体30内の電子制御ユニットに接続されてよい。
出力部22は、画像処理装置20の出力用インタフェースである。出力部22は、画像処理装置20の処理結果を、外部機器に出力可能である。外部機器は、例えば、移動体30内の他の装置又は移動体30外の他の装置等である。移動体30内の他の装置は、オートクルーズコントロール等の走行支援装置、及び、自動ブレーキ装置等の安全装置を含んでよい。移動体30外の他の装置は、他車両及び路測機等を含んでよい。移動体30内の他の装置又は移動体30外の他の装置は、画像処理装置20から受信した情報を適宜使用することができる。出力部22は、取得部21と同じ又は類似に、有線及び無線の通信に対応した種々のインタフェースを含んでよい。
記憶部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の動作によって得られたデータとを記憶する。
記憶部23は、第1カメラ11及び第2カメラ12の内部パラメータを記憶する。記憶部23は、第1カメラ11及び第2カメラ12の外部パラメータを記憶する。記憶部23は、後述する回転行列R及び並進ベクトルtを記憶する。
制御部24は、少なくとも1つのプロセッサ、少なくとも1つの専用回路又はこれらの組み合わせを含んで構成される。プロセッサは、CPU(Central Processing Unit)若しくはGPU(Graphics Processing Unit)等の汎用プロセッサ又は特定の処理に特化した専用プロセッサである。専用回路は、例えば、FPGA(Field-Programmable Gate Array)又はASIC(Application Specific Integrated Circuit)等である。制御部24は、画像処理装置20の各部を制御しながら、画像処理装置20の動作に関わる処理を実行する。
制御部24は、基準画像及び参照画像のデータを取得部21によって取得する。制御部24は、基準画像及び参照画像に対して歪み補正処理を実行してもよい。歪み補正処理は、レンズの歪曲収差を補正する処理である。制御部24は、歪み補正処理に加えて、明度調整処理、コントラスト調整処理及びガンマ補正処理等の任意の画像処理を実行してもよい。以下、歪み補正処理等を実行した後の基準画像は、「基準画像40」とも記載される。また、歪み補正処理等を実行した後の参照画像は、「参照画像41」とも記載される。
以下、第1カメラ11の正規化画像座標系は、「正規化画像座標系C1」とも記載される。つまり、正規化画像座標系C1は、第1カメラ11の画像座標系を正規化した2次元座標系である。第2カメラ12の正規化画像座標系は、「正規化画像座標系C2」とも記載される。つまり、正規化画像座標系C2は、第2カメラ12の画像座標系を正規化した2次元座標系である。
以下、第1カメラ11のカメラ座標系は、「カメラ座標系C11」とも記載される。第2カメラ12のカメラ座標系は、「カメラ座標系C12」とも記載される。
制御部24は、参照画像41を後述する第1仮想画像42に変換して被写体までの距離を取得する第1取得処理と、参照画像41を後述する第2仮想画像43に変換して被写体までの距離を取得する第2取得処理とを実行することができる。制御部24は、第1取得処理及び第2取得処理で取得したデータを用いて、後述する補間処理を実行することができる。補間処理では、第1取得処理又は第2取得処理で被写体までの正確な距離が取得できない場合、その被写体までの距離が補間される。また、補間処理では、第1取得処理又は第2取得処理で取得された被写体までの距離が誤検出であると判定された場合、その被写体までの距離が補間される。
<第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」とも記載される。
制御部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)によって表される。
Figure 2024050248000002
式(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の基準位置からの距離である。
制御部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被写体までの距離となる。
そこで、制御部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を参照して説明する。
図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に一致する。
図5では、q=1,2,3とする。参照画像41aの右側に、第1仮想画像42a、第1仮想画像42a及び第1仮想画像42aを示す。第1仮想画像42aは、第1距離d1に対応する。第1仮想画像42aは、第1距離d1に対応する。第1仮想画像42aは、第1距離d1に対応する。
図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までの距離として取得する。
本実施形態では、制御部24は、基準画像40における第1被写体の位置と複数の第1仮想画像42のそれぞれにおける第1被写体の位置との比較として、基準画像40と複数の第1仮想画像42とを用いたマッチング処理を実行する。以下、基準画像40に含まれる画素は、「基準画素P40」とも記載される。第1仮想画像42に含まれる画素は、「第1仮想画素P42」とも記載される。
マッチング処理では、制御部24は、複数の基準画素P40及び複数の第1仮想画素P42のそれぞれから、特徴量を抽出する。特徴量は、例えば、画素の輝度及び色の少なくとも何れかを含む。制御部24は、AKAZE(Accelerated-KAZE)、ORB(Oriented FAST and Rotated BRIEF)又はSIFT(Scale-Invariant Feature Transform)等の任意のアルゴリズムによって、特徴量を抽出してよい。特徴量は、AKAZE、ORB又はSIFT等の形式で表されてもよいし、他の種々の形式で表されてもよい。
マッチング処理では、制御部24は、第1コスト値C(p,q)を算出する。第1コスト値C(p,q)は、座標pの基準画素P40に含まれる被写体と、当該基準画素P40と同じ座標pの第1仮想画素P42に含まれる被写体との類似度を示す。本実施形態では、第1コスト値C(p,q)が小さいほど、座標pの基準画素P40に含まれる被写体と、座標pの第1仮想画素P42に含まれる被写体との類似度が高いものとする。制御部24は、基準ブロックB40と仮想ブロックB42とについて、SAD(Sum of Absolute Difference)、SSD(Sum of Squared Difference)、ZSSD(Zero-mean Sum of Squared Difference)又はZNCC(Zero means Normalized Cross Correlation)等を算出することにより、第1コスト値C(p,q)を算出してよい。基準ブロックB40は、第1コスト値C(p,q)の算出対象となる座標pの基準画素P40を中心とする複数の基準画素P40のブロックである。仮想ブロックB42は、第1コスト値C(p,q)の算出対象となる座標pの第1仮想画素P42を中心とする複数の第1仮想画素P42のブロックである。基準ブロックB40及び仮想ブロックB42は、例えば、3画素×3画素のブロックである。
マッチング処理では、制御部24は、パラメータqを1からm1まで変化させながら、同じ座標pについての複数の第1コスト値C(p,q)を算出する。制御部24は、算出した複数の第1コスト値C(p,q)のうちで、第1コスト値C(p,q)が最小値になるときのパラメータqを特定する。制御部24は、特定したパラメータqに対応する第1距離d1を、座標pの基準画素P40に含まれる第1被写体の第1方向D1における基準位置からの距離として取得する。制御部24は、取得した第1距離d1を座標pの基準画素P40に対応付ける。
制御部24は、取得した第1距離d1すなわち第1方向D1における基準位置から第1被写体までの距離によって、基準位置から第1被写体までの直線距離を算出してもよい。例えば、制御部24は、式(2)によって、基準位置から第1被写体までの直線距離Zを算出してよい。
Figure 2024050248000003
式(2)において、単位ベクトルbは、正規化画像座標系C1の原点から第1被写体を含む基準画素P40に向かう方向に対応するカメラ座標系C11の方向の単位ベクトルである。
ところで、複数の第1仮想平面V1のそれぞれの間隔は、不等間隔であってもよいし、等間隔であってもよい。ここで、基準位置から遠距離の被写体ほど、基準画像40における被写体の位置と参照画像41における被写体の位置との差すなわち視差が小さくなる。これに対し、基準位置から近距離の被写体ほど、基準画像40における被写体の位置と参照画像41における被写体の位置との差すなわち視差が大きくなる。本実施形態では、制御部24は、被写体の基準画像40と参照画像41との間の視差を算出する代わりに、参照画像41をそれぞれ異なる第1距離d1に対応する複数の第1仮想平面V1に射影変換して第1仮想画像42を取得する。さらに、制御部24は、基準画像40における被写体の位置と複数の第1仮想画像42における被写体の位置とを比較する。そこで、複数の第1仮想平面V1のそれぞれの間隔を不等間隔にする場合、複数の第1仮想平面V1のそれぞれの間隔は、基準位置から近いほど狭い間隔であってよい。また、複数の第1仮想平面V1のそれぞれの間隔は、基準位置から遠いほど、広い間隔であってよい。このような構成により、被写体までの距離を精度良く取得することができる。
<第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の情報は、カメラ座標系C12に対応付けられて記憶部23に予め記憶されてよい。制御部24は、記憶部23からカメラ座標系C12に対応付けられた第2方向D2の情報を取得することにより、第2方向D2を特定してよい。以下、第2距離d2に対応する第2仮想画像43は、「第2仮想画像43」とも記載される。
制御部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の法線ベクトルとなる。
制御部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被写体までの距離となる。
そこで、制御部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を参照して説明する。
図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に一致する。
図7では、q=1,2,3とする。参照画像41bの右側に、第2仮想画像43b、第2仮想画像43b及び第2仮想画像43bを示す。第2仮想画像43bは、第2距離d2に対応する。第2仮想画像43bは、第2距離d2に対応する。第2仮想画像43bは、第2距離d2に対応する。
図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までの距離として取得する。
本実施形態では、制御部24は、基準画像40における第2被写体の位置と複数の第2仮想画像43のそれぞれにおける第2被写体の位置との比較として、基準画像40と複数の第2仮想画像43とを用いたマッチング処理を実行する。以下、第2仮想画像43に含まれる画素は、「第2仮想画素P43」とも記載される。
マッチング処理では、制御部24は、上述した処理と同じ又は類似に、複数の基準画素P40及び複数の第2仮想画素P43のそれぞれから、特徴量を抽出する。上述した処理と同じ又は類似に、制御部24は、AKAZE、ORB又はSIFT等の任意のアルゴリズムによって、特徴量を抽出してよい。
マッチング処理では、制御部24は、第2コスト値C(p,q)を算出する。第2コスト値C(p,q)は、座標pの基準画素P40に含まれる被写体と、当該基準画素P40と同じ座標pの第2仮想画素P43に含まれる被写体との類似度を示す。本実施形態では、第2コスト値C(p,q)が小さいほど、座標pの基準画素P40に含まれる被写体と、座標pの第2仮想画素P43に含まれる被写体との類似度が高いものとする。上述した処理と同じ又は類似に、制御部24は、基準ブロックB40と仮想ブロックB43とについて、SAD、SSD、ZSSD又はZNCC等を算出することにより、第2コスト値C(p,q)を算出してよい。基準ブロックB40は、第2コスト値Cの算出対象となる座標pの基準画素P40を中心とする複数の基準画素P40のブロックである。仮想ブロックB43は、第2コスト値Cの算出対象となる座標pの第2仮想画素P43を中心とする複数の第2仮想画素P43のブロックである。基準ブロックB40及び仮想ブロックB43は、例えば、3画素×3画素のブロックである。
マッチング処理では、制御部24は、パラメータqを1からm2まで変化させながら、同じ座標pについての複数の第2コスト値C(p,q)を算出する。制御部24は、算出した複数の第2コスト値C(p,q)のうちで、第2コスト値C(p,q)が最小値になるときのパラメータqを特定する。制御部24は、特定したパラメータqに対応する第2距離d2を、座標pの基準画素P40に含まれる第2被写体の第2方向D2における基準位置からの距離として取得する。制御部24は、取得した第2距離d2を座標pの基準画素P40に対応付ける。
制御部24は、取得した第2距離d2すなわち第2方向D2における基準位置から第2被写体までの距離によって、基準位置から第2被写体までの直線距離を算出してよい。制御部24は、式(2)によって、基準位置から第2被写体までの直線距離Zを算出してよい。第2方向D2では、式(2)の法線ベクトルnは、第2仮想平面V2の法線ベクトルとなる。また、式(2)の単位ベクトルbは、正規化画像座標系C1の原点から第2被写体を含む画素に向かう方向に対応するカメラ座標系C11の方向の単位ベクトルである。
複数の第2仮想平面V2のそれぞれの間隔は、第1仮想平面V1と同じ又は類似に、不等間隔であってもよいし、等間隔であってもよい。第1仮想平面V1と同じ又は類似に、複数の第2仮想平面V2のそれぞれの間隔を不等間隔にする場合、複数の第2仮想平面V2のそれぞれの間隔は、基準位置から近いほど狭い間隔であってよい。また、複数の第2仮想平面V2のそれぞれの間隔は、基準位置から遠いほど、広い間隔であってよい。このような構成により、被写体までの距離を精度良く取得することができる。
<補間処理>
以下、第1仮想平面V1と第2仮想平面V2とを特に区別しない場合、これらは、まとめて「仮想平面V3」とも記載される。仮想平面V3は、仮想平面V3の法線方向に沿って基準位置から設定距離d3離れて位置する。仮想平面V3が第1仮想平面V1である場合、設定距離d3は、第1距離d1である。仮想平面V3が第2仮想平面V2である場合、設定距離d3は、第2距離d2である。異なる設定距離d3(kは、「1≦k≦N」を満たす整数)に対応する仮想平面V3は、「仮想平面V3」とも記載される。複数の仮想平面V3すなわち仮想平面V3~V3は、複数の第1仮想平面V1すなわち第1仮想平面V1~V1m1と、複数の第2仮想平面V2すなわち第2仮想平面V2~V2m2とを含んでよい。ただし、複数の仮想平面V3すなわち仮想平面V3~V3は、複数の第1仮想平面V1すなわち第1仮想平面V1~V1m1のみを含んでもよい。又は、複数の仮想平面V3すなわち仮想平面V3~V3は、複数の第2仮想平面V2すなわち第2仮想平面V2~V2m2のみを含んでもよい。
以下、参照画像41を仮想平面V3に射影変換して取得される仮想画像は、「仮想画像44」とも記載される。仮想画像44に含まれる画素は、「仮想画素P44」とも記載される。仮想平面V3が第1仮想平面V1である場合、仮想画素P44は、第1仮想画素P42である。仮想平面V3が第2仮想平面V2である場合、仮想画素P44は、第2仮想画素P43である。
以下、「コスト値C(p,k)」は、座標pの基準画素P40に含まれる被写体と、当該基準画素P40と同じ座標pの仮想画素P44に含まれる被写体との類似度を示す。仮想画素P44が第1仮想画素P42である場合、コスト値C(p,k)は、第1コスト値C(p,q)である。仮想画素P44が第2仮想画素P43である場合、コスト値C(p,k)は、第2コスト値C(p,q)である。
ところで、被写体のうちには、画像における輝度差といった特徴が少ない被写体が存在する。このような被写体については、第1取得処理又は第2取得処理によって被写体までの距離が精度良く取得できない場合がある。そこで、制御部24は、このような被写体については、コスト値C(p,k)を用いて補間処理を実行する。制御部24は、補間処理を実行することにより、被写体までの距離を補間することができる。以下、補間処理の対象となる基準画素P40は、「注目画素P40A」とも記載される。
制御部24は、動的計画法に基づいてコスト値C(p,k)を注目画素P40Aに向けて集約方向rに沿って集約することにより、注目画素P40Aに含まれる被写体までの距離を補間する。本実施形態では、動的計画法としてSGM(Semi Global Matching)法が採用される。本実施形態に係るSGM法では、制御部24は、式(3)によって、注目画素P40Aの合成コスト値S(p,k)を算出する。制御部24は、合成コスト値S(p,k)が最小値になるときのパラメータkを特定する。制御部24は、特定したパラメータkに対応する設定距離d3を注目画素P40Aに含まれる被写体までの距離の補間値として取得する。制御部24は、取得した設定距離d3すなわち補間値を注目画素P40Aに対応付けてよい。
Figure 2024050248000004
式(3)において、コスト値L(p,k)は、注目画素P40Aの修正後のコスト値である。
制御部24は、注目画素P40Aのコスト値L(p,k)を式(4)によって算出する。
Figure 2024050248000005
式(4)において、コスト値C(p,k)は、注目画素P40Aの修正前のコスト値である。
式(4)において、パラメータP及びパラメータPは、ペナルティである。パラメータP及びパラメータPは、「P>P」を満たすように設定される。変数iは、任意の変数である。
式(4)において、パラメータrは、集約方向rに対応する。
集約方向rは、基準画像40の端部から注目画素P40Aに向かう方向として設定される。本実施形態では、集約方向rは、基準画像40における水平方向に沿うベクトル及び鉛直方向に沿うベクトルに基づいて設定される。この設定例について図8を参照して説明する。
図8には、基準画像40を示す。図8において、一点鎖線は、基準画像40における水平方向に対応する。二点鎖線は、基準画像40における鉛直方向に対応する。図8に示すような基準画像40は、魚眼レンズが採用された第1カメラ11によって生成されたものである。そのため、図8に示すように、基準画像40では、水平方向に対応する方向及び鉛直方向に対応する方向は、曲線に沿う。
図8では、8つの集約方向rすなわち集約方向r,r,r,r,r,r,r,rが設定される。集約方向r~rは、ベクトルv1,v2,v3,v4に基づいて設定される。
ベクトルv1,v3は、注目画素P40Aに向かうベクトルであって、基準画像40における水平方向に沿うベクトルである。ベクトルv1の向きとベクトルv3の向きとは、逆である。図8では、ベクトルv1は、基準画像40の左側の端部から注目画素P40Aに向かう。ベクトルv3は、基準画像40の右側の端部から注目画素P40Aに向かう。
ベクトルv2,v4は、注目画素P40Aに向かうベクトルであって、基準画像40における鉛直方向に沿うベクトルである。ベクトルv2の向きとベクトルv4の向きとは、逆である。図8では、ベクトルv2は、基準画像40の上側の端部から注目画素P40Aに向かう。ベクトルv4は、基準画像40の下側の端部から注目画素P40Aに向かう。
集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv1に沿う方向である。集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv1とベクトルv2とを合わせた方向である。集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv2に沿う方向である。集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv2とベクトルv3とを合わせた方向である。集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv3に沿う方向である。集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv3とベクトルv4とを合わせた方向である。集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv4に沿う方向である。集約方向rは、注目画素P40Aに向かう方向であって、ベクトルv1とベクトルv4とを合わせた方向である。
集約方向rの数は、図8に示すような8つの集約方向r~rに限定されない。例えば、8つよりも少ない集約方向rが設定されてもよいし、8つよりも多い集約方向rが設定されてもよい。
<補間処理の他の例>
以下、第1距離d1が対応付けられた基準画素P40は、「第1基準画素P40a」とも記載される。第2距離d2が対応付けられた基準画素P40は、「第2基準画素P40b」とも記載される。以下、補間処理の他の例について説明する。
制御部24は、基準画像40において、周囲を第1基準画素P40aで囲まれた第2基準画素P40bが存在するか否かを判定する。制御部24は、任意のクラスタリング処理を実行することにより、周囲を第1基準画素P40aで囲まれた第2基準画素P40bを検出し、周囲を第1基準画素P40aで囲まれた第2基準画素P40bが存在するか否かを判定してよい。制御部24は、周囲を第1基準画素P40aで囲まれた第2基準画素P40bが存在すると判定した場合、その第2基準画素P40bに対応付けられた第2距離d2を誤検出と判定する。制御部24は、第2基準画素P40bに対応付けられた第2距離d2を誤検出と判定した場合、第2基準画素P40bを囲む第1基準画素P40aによって、第2基準画素P40bに含まれる被写体までの距離を補間する。一例として、制御部24は、第2基準画素P40bを囲む第1基準画素P40aに対応付けられた第1距離d1の平均値又は中央値を、当該第2基準画素P40bに含まれる被写体までの距離の補間値として取得する。制御部24は、取得した補間値を当該第2基準画素P40bに対応付けてよい。
制御部24は、基準画像40において、周囲を第2基準画素P40bで囲まれた第1基準画素P40aが存在するか否かを判定する。制御部24は、任意のクラスタリング処理を実行することにより、周囲を第2基準画素P40bで囲まれた第1基準画素P40aを検出し、周囲を第2基準画素P40bで囲まれた第1基準画素P40aが存在するか否かを判定してよい。制御部24は、周囲を第2基準画素P40bで囲まれた第1基準画素P40aが存在すると判定した場合、その第1基準画素P40aに対応付けられた第1距離d1を誤検出と判定する。制御部24は、第1基準画素P40aに対応付けられた第1距離d1を誤検出と判定した場合、第1基準画素P40aを囲む第2基準画素P40bによって、第1基準画素P40aに含まれる被写体までの距離を補間する。一例として、制御部24は、第1基準画素P40aを囲む第2基準画素P40bに対応付けられた第2距離d2の平均値又は中央値を、当該第1基準画素P40aに含まれる被写体までの距離の補間値として取得する。制御部24は、取得した補間値を当該第1基準画素P40aに対応付けてよい。
図9には、基準画像40cを示す。基準画像40cにおいて、色が濃い部分は、第1基準画素P40aに対応する。色が薄い部分は、第2基準画素P40bに対応する。白い部分は、第1距離d1及び第2距離d2の何れも対応付けられていない基準画素P40である。
図9に示すような第1基準画素P40a1及び第2基準画素P40b1は、被写体の正面に対応する。この被写体の正面は、平面である。制御部24は、周囲を第1基準画素P40a1で囲まれた第2基準画素P40b1が存在すると判定し、第2基準画素P40b1に対応付けられた第2距離d2を誤検出と判定する。制御部24は、第1基準画素P40a1に対応付けられた第1距離d1の平均値又は中央値を、第2基準画素P40b1に含まれる被写体までの距離の補間値として取得する。ここで、第1基準画素P40a1及び第2基準画素P40b1に対応する被写体の正面は、第1仮想平面V1に平行な面である。被写体の正面が第1仮想平面V1に平行な面であることにより、図5を参照した上記説明から分かるように、被写体の正面までの距離は、第1取得処理によって精度良く取得され得る。しかしながら、この被写体の正面が第2仮想平面V2に垂直であることにより、この被写体の正面までの距離を第2取得処理によって精度良く取得できない場合がある。そこで、制御部24は、周囲を第1基準画素P40aで囲まれた第2基準画素P40bが存在する場合、その第2基準画素P40bに対応付けられた第2距離d2を誤検出と判定する。このような構成により、被写体までの距離を精度良く取得することができる。
図9に示すような第1基準画素P40a2及び第2基準画素P40b2は、被写体の上面に対応する。この被写体の上面は、平面である。制御部24は、周囲を第2基準画素P40b2で囲まれた第1基準画素P40a2が存在すると判定し、第1基準画素P40a2に対応付けられた第1距離d1を誤検出と判定する。制御部24は、第2基準画素P40b2に対応付けられた第2距離d2の平均値又は中央値を、第1基準画素P40a2に含まれる被写体までの距離の補間値として取得する。ここで、第1基準画素P40a2及び第2基準画素P40b2に対応する被写体の上面は、第2仮想平面V2に平行な面である。被写体の上面が第2仮想平面V2に平行な面であることにより、図7を参照した上記説明から分かるように、被写体の上面までの距離は、第2取得処理によって精度良く取得され得る。しかしながら、この被写体の上面が第1仮想平面V1に垂直であることにより、この被写体の上面までの距離を第1取得処理によって精度良く取得できない場合がある。そこで、制御部24は、周囲を第2基準画素P40bで囲まれた第1基準画素P40aが存在する場合、その第1基準画素P40aに対応付けられた第1距離d1を誤検出と判定する。このような構成により、被写体までの距離を精度良く取得することができる。
<補間処理のさらに他の例>
補間処理のさらに他の例として、制御部24は、クラスタリング処理を実行することにより、基準画像40を複数の領域に分割してよい。例えば、制御部24は、特徴が類似する基準画素P40をグルーピングして1つにまとめることにより、基準画像40を複数の領域に分割してよい。制御部24は、同じ領域に含まれる複数の基準画素P40に対応付けられた設定距離d3において、補間処理を実行してもよい。以下、補間処理のさらに他の例について説明する。
制御部24は、基準画像40に対してスーパーピクセル処理を実行することにより、基準画像40を複数の領域に分割する。スーパーピクセル処理は、画像において特徴が類似する画素をグルーピングして1つのスーパーピクセルにする処理である。スーパーピクセルは、特徴が類似する基準画素P40が連続して並ぶ領域となる。
例えば、図10には、基準画像40dを示す。制御部24は、基準画像40dを複数の領域40sに分割する。
制御部24は、同じ領域に含まれる複数の基準画素P40に対応付けられた設定距離d3において、外れ値となる設定距離d3を検出する。制御部24は、外れ値となる設定距離d3を検出した場合、その外れ値を除去する。一例として、制御部24は、RANSAC(Random Sampling Consensus)等の任意のアルゴリズムによって、同じ領域に含まれる複数の基準画素P40に対応付けられた設定距離d3において、外れ値となる設定距離d3を検出して除去してよい。制御部24は、外れ値を除去した場合、外れ値となる設定距離d3以外の他の設定距離d3によって、外れ値が対応付けられていた基準画素P40に含まれる被写体までの距離を補間する。例えば、制御部24は、他の設定距離d3の平均値又は中央値を、外れ値が対応付けられていた基準画素P40に含まれる被写体までの距離の補間値として取得する。制御部24は、取得した補間値を、外れ値が対応付けられていた基準画素P40に対応付けてよい。
<補間処理のさらに他の例>
補間処理のさらに他の例として、制御部24は、同じ座標pの基準画素P40について、パラメータkが異なる複数のコスト値C(p,k)にモデル関数をフィッティングすることにより、複数のコスト値C(p,k)の相関を示す相関関数を作成してよい。制御部24は、相関関数によって最小値となるコスト値C(p,k)を特定することにより、座標pの基準画素P40に含まれる被写体までの距離を補間することができる。モデル関数は、例えば、折れ線関数、放物線関数、又は、折れ線及び放物線を組み合わせた関数である。
本実施形態では、制御部24は、基準画素P40についての複数の第1コスト値C(p,q)及び複数の第2コスト値C(p,q)のうちの一方を他方によって補間した複数のコスト値C(p,k)によって相関関数を作成してよい。以下、この処理について説明する。以下では、制御部24は、第1コスト値C(p,q)を第2コスト値C(p,q)によって補間した複数のコスト値C(p,k)によって相関関数を作成するものとする。ただし、制御部24は、以下の処理と同じ又は類似の処理を実行することにより、第2コスト値C(p,q)を第1コスト値C(p,q)によって補間した複数のコスト値C(p,k)によって相関関数を作成してもよい。以下では、被写体までの距離を補間する対象の基準画素P40は、「基準画素P40B」とも記載される。基準画素P40Bの座標は、座標pBである。
制御部24は、第1取得処理にて上述したように、パラメータqを1からm1まで変化させながら、基準画素P40Bについての複数の第1コスト値C(pB,q)を算出する。制御部24は、第2取得処理にて上述したように、パラメータqを1からm2まで変化させながら、基準画素P40Bについての複数の第2コスト値C(pB,q)を算出する。
制御部24は、第1コスト値C(pB,q)に対する第1距離d1において、第1コスト値C(pB,q)が極値となる第1距離d1を特定する。本実施形態では、制御部24は、第1コスト値C(pB,q)が極小値となる第1距離d1を特定する。例えば、図11の左側に、第1距離d1に対する第1コスト値C(pB,q)のグラフG1を示す。グラフG1の横軸は、第1距離d1に対応する。グラフG1の縦軸は、第1コスト値C(pB,q)に対応する。プロットpt1,pt2,pt3,pt4,pt5は、それぞれ、第1距離d1に対する第1コスト値C(pB,q)を示す。グラフG1では、制御部24は、プロットpt3の距離dB1を第1コスト値C(pB,q)が極小値となる第1距離d1として特定する。
制御部24は、第1コスト値C(pB,q)が極値となる第1距離d1を特定すると、特定した第1距離d1を含む設定距離範囲を設定する。この設定距離範囲は、適用されるモデル関数に基づいて設定されてよい。図11に示すようなグラフG1では、制御部24は、距離dB1を含む設定距離範囲s1を設定する。
制御部24は、第1距離d1を含む設定距離範囲を設定すると、複数の第2コスト値C(pB,q)のうちで、その第2コスト値C(pB,q)に対応する第2距離d2が設定距離範囲内になる第2コスト値C(pB,q)を取得する。例えば、図11の右側に、グラフG2を示す。グラフG2の横軸は、第2距離d2に対応する。グラフG2の縦軸は、第2コスト値C(pB,q)に対応する。プロットpt6,pt7,pt8は、それぞれ、第2距離d2に対する第2コスト値C(pB,q)を示す。グラフG2では、制御部24は、その第2コスト値C(pB,q)に対応する第2距離d2が設定距離範囲s1内になる第2コスト値C(pB,q)として、プロットpt7を取得する。
制御部24は、複数の第1コスト値C(pB,q)と、対応する第2距離d2が設定距離範囲内になる第2コスト値C(pB,q)とを含む複数のコスト値C(pB,q)にモデル関数をフィッティングする。制御部24は、当該複数のコスト値C(pB,q)にモデル関数をフィッティングすることにより、当該複数のコスト値C(pB,q)の相関を示す相関関数を作成する。図11に示すようなグラフG1では、制御部24は、プロットpt1~pt5,pt7にモデル関数をフィッティングすることにより、相関関数F1を作成する。
制御部24は、作成した相関関数に基づいて、基準画素P40Bに含まれる被写体までの距離を補間する。例えば、制御部24は、作成した相関関数が極値となる第1距離d1を特定する。制御部24は、特定した第1距離d1を、基準画素P40Bに含まれる被写体までの距離の補間値として取得する。制御部24は、特定した第1距離d1を、基準画素P40Bに対応付けてよい。図11では、制御部24は、相関関数F1が極小値となる距離dB2を、基準画素P40Bに含まれる被写体までの距離の補間値として取得する。
(ステレオカメラ装置の動作)
図12は、本開示の一実施形態に係る画像処理方法の手順を示すフローチャートである。画像処理装置20が図12に示すような画像処理方法を実行する。制御部24は、ステレオカメラ10が撮像を開始すると、ステップS1の処理を実行する。
制御部24は、基準画像及び参照画像のデータを取得部21によって取得する(ステップS1)。制御部24は、基準画像及び参照画像に対して歪み補正処理を実行する(ステップS2)。上述したように、歪み補正処理等を実行した後の基準画像は、「基準画像40」とも記載される。また、歪み補正処理等を実行した後の参照画像は、「参照画像41」とも記載される。
制御部24は、第1距離d1を変化させていきながら参照画像41を第1仮想平面V1に射影変換することにより、複数の第1仮想画像42のデータを取得する(ステップS3)。制御部24は、基準画像40と複数の第1仮想画像42とを用いたマッチング処理を実行する(ステップS4)。
制御部24は、第2距離d2を変化させていきながら参照画像41を第2仮想平面V2に射影変換することにより、複数の第2仮想画像43のデータを取得する(ステップS5)。制御部24は、基準画像40と複数の第2仮想画像43とを用いたマッチング処理を実行する(ステップS6)。
制御部24は、ステップS4の処理で取得されたデータと、ステップS6の処理で取得されたデータとを用いて、補間処理を実行する(ステップS7)。
このように本実施形態に係る画像処理装置20では、制御部24は、設定距離d3を変化させていきながら参照画像41を複数の仮想平面V3に射影変換して複数の仮想画像44のデータを取得する。制御部24は、基準画像40における被写体の位置と複数の仮想画像44のそれぞれにおける被写体の位置とを比較した結果に基づいて、基準位置から被写体までの距離を取得する。制御部24は、複数の仮想画像44のデータを取得することにより、同じ座標pの基準画素P40についてパラメータkが異なる複数のコスト値C(p,k)を算出することができる。このような複数のコスト値C(p,k)を算出することにより、制御部24は、図8又は図11を参照して上述したような補間処理を実行することができる。また、制御部24は、取得した被写体までの距離を用いて、図9又は図10を参照して上述したような補間処理を実行することができる。制御部24は、補間処理を実行することにより、複数の仮想平面V3の数を増加させることなく、被写体までの距離を精度良く取得することができる。よって、本実施形態によれば、被写体までの距離をより精度良く測定することができる技術を提供することができる。
さらに、本実施形態では、複数の仮想平面V3のそれぞれの間隔は、不等間隔であってもよい。上述したように、複数の仮想平面V3のそれぞれの間隔は、基準位置から近いほど狭い間隔であってよい。また、複数の仮想平面V3のそれぞれの間隔は、基準位置から遠いほど、広い間隔であってよい。このような構成により、被写体までの距離を精度良く取得することができる。
また、本実施形態では、複数の仮想平面V3は、複数の第1仮想平面V1及び複数の第2仮想平面V2の両方を含んでもよい。ここで、上述したように、参照画像41を第1仮想平面V1に射影変換して第1仮想画像42を取得する処理は、プレーンスイープ法による処理とも言える。複数の仮想平面V3が複数の第1仮想平面V1及び複数の第2仮想平面V2の両方を含むことにより、制御部24は、プレーンスイープ法による処理に加えて、第2仮想画像43を取得する処理を実行することができる。このような構成により、以下に説明するように、被写体までの距離をより精度良く測定することができる。
第1比較例として、複数の仮想平面V3が複数の第1仮想平面V1のみを含む場合を考える。つまり、第1比較例として、制御部24が、プレーンスイープ法による処理のみを実行し、被写体までの距離を取得することを考える。第1比較例において、制御部24は、図7に示すような第2被写体ob2までの距離を取得する場合、参照画像41bを第1仮想平面V1に射影変換して第1仮想画像42を取得する。ここで、第2被写体оb2は、第1仮想平面V1に平行な面を含まない。つまり、第2被写体оb2の何れの面の法線方向も、第1仮想平面V1の法線方向すなわち第1方向D1と一致しない。そのため、第1方向D1の第1距離d1を変化させながら複数の第1仮想画像42を取得しても、複数の第1仮想画像42のそれぞれにおける第2被写体оb2の位置は、第1距離d1に応じて変化しない。複数の第1仮想画像42のそれぞれにおける第2被写体оb2の位置が第1距離d1に応じて変化しないことにより、第1仮想画像42によって基準位置から第2被写体оb2までの距離を取得することができない。
このような第1比較例に対し、本実施形態では、制御部24は、第2方向D2と法線方向が一致する第2仮想平面V2に参照画像41を射影変換して第2仮想画像43を取得する。このような構成により、制御部24は、第1仮想平面V1に平行な面を含まない第2被写体についても、第2仮想画像43によって基準位置から第2被写体までの距離を取得することができる。よって、本実施形態によれば、被写体までの距離をより精度良く測定することができる。また、上述したように、第2被写体の例として、路面の凹凸が挙げられる。つまり、本実施形態では、路面の凹凸までの距離を算出することができるため、路面形状をより高精度に検出することができる。
第2比較例として、魚眼レンズによって撮像された基準画像及び参照画像によって被写体までの距離を測定することを考える。図13に、魚眼レンズによって撮像された画像40Xを説明するための図を示す。画像40Xにおける実線は、路面からの高さが同じになる地点を結んだ線である。画像40Xは、領域R1,R2を含む。領域R1では、領域R2と比較して実線の間隔が広い。領域R1では、実線の間隔が広いため、画像40Xに対して歪み補正を実行した場合、路面からの高さが異なる地点は、異なる画素に対応する。しかしながら、領域R2では、実線の間隔が狭いため、画像40Xに対して歪み補正を実行した場合、路面からの高さが異なる地点が、同じ画素に対応し得る。領域R2では、路面からの高さが異なる地点が同じ画素に対応するため、画像40Xのような基準画像及び参照画像にプレーンスイープ法を適用しても、被写体までの距離を取得できない場合がある。
本実施形態では、制御部24は、プレーンスイープ法による処理に加えてすなわち第1仮想画像42を取得する処理に加えて、参照画像41を第2仮想平面V2に射影変換して第2仮想画像43を取得することができる。制御部24は、参照画像41を第2仮想画像43に変換することにより、領域R2に含まれる被写体までの距離を取得することができる。つまり、本実施形態では、第1カメラ11及び第2カメラ12の光学系に魚眼レンズを採用しても、被写体までの距離を取得することができる。本実施形態では、第1カメラ11及び第2カメラ12の光学系に魚眼レンズを採用することにより、より広い領域に存在する被写体の距離を取得することができる。
また、本実施形態では、制御部24は、動的計画法に基づいてコスト値C(p,k)を基準画像40における集約方向rに沿って集約することにより、注目画素P40Aに含まれる被写体までの距離を取得してもよい。集約方向rは、図8を参照して上述したように、基準画像40における水平方向に対応するベクトル及び鉛直方向に対応するベクトルに基づいて設定されてもよい。ここで、一般的なSGM法では、集約方向rは、注目画素P40Aを中心とし、それぞれの角度が45度ずつずれた8つの直線に沿う方向によって設定される。第1カメラ11及び第2カメラ12の光学系に魚眼レンズが採用される場合、図8に示すように基準画像40における水平方向に対応する方向及び鉛直方向に対応する方向は、曲線に沿う方向となる。そのため、一般的なSGM法のように集約方向rを直線に沿う方向として設定すると、コスト値C(p,k)を集約して被写体までの距離を精度良く取得できない場合がある。集約方向rが基準画像40における水平方向及び鉛直方向のそれぞれに対応するベクトルに基づいて設定されることにより、第1カメラ11及び第2カメラ12の光学系に魚眼レンズを採用しても、被写体までの距離を精度良く取得することができる。
また、本実施形態では、制御部24は、基準画像40において、周囲を第1基準画素P40aで囲まれた第2基準画素P40bが存在するか否かを判定してもよい。制御部24は、周囲を第1基準画素P40aで囲まれた第2基準画素P40bが存在すると判定した場合、当該第2基準画素P40bに含まれる被写体までの距離を、当該第2基準画素を囲む第1基準画素P40aによって補間してもよい。上述したように、図9に示すような第1基準画素P40a1及び第2基準画素P40b1に対応する被写体の正面までの距離は、第1取得処理によって精度良く取得され得る。しかしながら、この被写体の正面が第2仮想平面V2に垂直であることにより、この被写体の正面までの距離を第2取得処理によって精度良く取得できない場合がある。そこで、制御部24は、周囲を第1基準画素P40aで囲まれた第2基準画素P40bが存在する場合、その第2基準画素P40bに含まれる被写体までの距離を、第2基準画素P40bを囲む第1基準画素P40aによって補間する。このような構成により、被写体までの距離を精度良く取得することができる。
また、本実施形態では、制御部24は、基準画像40において、周囲を第2基準画素P40bで囲まれた第1基準画素P40aが存在するか否かを判定してもよい。制御部24は、周囲を第2基準画素P40bで囲まれた第1基準画素P40aが存在すると判定した場合、当該第1基準画素P40aに含まれる被写体までの距離を、当該第1基準画素P40aを囲む第2基準画素P40bによって補間してもよい。上述したように、図9に示すような第1基準画素P40a2及び第2基準画素P40b2に対応する被写体の上面までの距離は、第2取得処理によって精度良く取得され得る。しかしながら、この被写体の上面が第1仮想平面V1に垂直であることにより、この被写体の上面までの距離を第1取得処理によって精度良く取得できない場合がある。そこで、制御部24は、周囲を第2基準画素P40bで囲まれた第1基準画素P40aが存在する場合、第1基準画素P40aに含まれる被写体までの距離を、当該第1基準画素P40aを囲む第2基準画素P40bによって補間する。このような構成により、被写体までの距離を精度良く取得することができる。
また、本実施形態では、制御部24は、基準画像40を、類似する特徴を有する複数の基準画素P40を含む領域に分割してもよい。制御部24は、同じ領域に含まれる複数の基準画素P40に対応付けられた設定距離において、補間処理を実行してもよい。類似する特徴を有する複数の基準画素P40を含む領域を用いて補間処理を実行することにより、補間処理を効率良く実行することができる。
また、本実施形態では、制御部24は、同じ領域に含まれる複数の基準画素P40に対応付けられた設定距離d3において、外れ値となる設定距離d3を検出してもよい。制御部24は、外れ値となる設定距離d3を検出した場合、その外れ値を除去してよい。制御部24は、外れ値を除去した場合、外れ値となる設定距離d3以外の他の設定距離d3によって、外れ値が対応付けられていた基準画素P40に含まれる被写体までの距離を補間してもよい。外れ値となる設定距離d3を除去することにより、取得される被写体までの距離は、信頼性の高いものとなる。また、外れ値が対応付けられていた基準画素P40に含まれる被写体までの距離を補間することにより、より多くの被写体までの距離を取得することができる。
また、本実施形態では、制御部24は、第1コスト値C(p,q)及び第2コスト値C(p,q)のうちの一方を他方によって補間した複数のコスト値C(p,k)によって、相関関数を作成してもよい。制御部24は、相関関数に基づいて、基準画素P40に含まれる被写体までの距離を補間してもよい。第1コスト値C(p,q)及び第2コスト値C(p,q)のうちの一方を他方によって補間した複数のコスト値C(p,k)を用いることにより、制御部24は、多くのコスト値C(p,k)を用いて相関関数を作成することができる。このような構成により、相関関数に基づいて、基準画素P40に含まれる被写体までの距離を精度良く補間することができる。
一実施形態において、(1)画像処理装置は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得する取得部と、
前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得する制御部と、備え、
前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
前記複数の仮想平面のそれぞれの前記設定距離は、異なる。
(2)上記(1)の画像処理装置では、
前記基準画像及び前記参照画像は、広角レンズによって撮像された画像であってもよい。
(3)上記(1)又は(2)に記載の画像処理装置では、
前記複数の仮想平面のそれぞれの間隔は、不等間隔であってもよい。
(4)上記(1)から(3)までの何れか1つに記載の画像処理装置では、
前記複数の仮想平面のそれぞれの間隔は、等間隔であってもよい。
(5)上記(1)から(4)までの何れか1つに記載の画像処理装置では、
前記基準画像は、複数の基準画素を含み、
前記仮想画像は、複数の仮想画素を含み、
前記制御部は、
前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置との比較として、同じ座標の前記基準画素に含まれる前記被写体と前記複数の仮想画素のそれぞれに含まれる前記被写体との類似度をそれぞれ示す複数のコスト値を算出し、
動的計画法に基づいて前記コスト値を前記基準画像における集約方向に沿って集約することにより、前記基準画素の1つである注目画素に含まれる前記被写体までの距離を補間し、
前記集約方向は、前記基準画像における水平方向に沿うベクトル及び鉛直方向に沿うベクトルに基づいて設定されてもよい。
(6)上記(1)から(5)までの何れか1つに記載の画像処理装置では、
前記複数の仮想平面は、複数の第1仮想平面及び複数の第2仮想平面の両方を含み、
前記第1仮想平面の法線方向は、前記基準位置で前記基準画像を生成したカメラの光軸方向である第1方向に一致し、
前記第1仮想平面は、前記第1方向に沿って前記基準位置から第1距離離れて位置し、
前記第2仮想平面の法線方向は、前記第1方向とは異なる第2方向に一致し、
前記第2仮想平面は、前記第2方向に沿って前記基準位置から第2距離離れて位置してもよい。
(7)上記(1)から(6)までの何れか1つに記載の画像処理装置では、
前記基準画像は、複数の基準画素を含み、
前記制御部は、
前記参照画像を前記複数の第1仮想平面に射影変換して複数の第1仮想画像を取得し、前記第1仮想画像は、複数の第1仮想画素を含み、
前記参照画像を前記複数の第2仮想平面に射影変換して複数の第2仮想画像を取得し、前記第2仮想画像は、複数の第2仮想画素を含み、
前記制御部は、
前記基準画像における被写体の位置と前記複数の第1仮想画像のそれぞれにおける前記被写体の位置との比較として、同じ座標の前記基準画素に含まれる前記被写体と前記複数の第1仮想画素のそれぞれに含まれる前記被写体との類似度をそれぞれ示す複数の第1コスト値を算出し、
前記複数の第1コスト値に基づいて前記基準画素に前記第1距離を対応付け、
前記基準画像における前記被写体の位置と前記複数の第2仮想画像のそれぞれにおける前記被写体の位置との比較として、同じ座標の前記基準画素に含まれる前記被写体と前記複数の第2仮想画素のそれぞれに含まれる前記被写体との類似度をそれぞれ示す複数の第2コスト値を算出し、
前記複数の第2コスト値に基づいて前記基準画素に前記第2距離を対応付けてもよい。
(8)上記(1)から(7)までの何れか1つに記載の画像処理装置では、
前記第1距離が対応付けられた前記基準画素は、第1基準画素であり、
前記第2距離が対応付けられた前記基準画素は、第2基準画素であり、
前記制御部は、前記基準画像において、周囲を前記第1基準画素で囲まれた前記第2基準画素が存在すると判定した場合、周囲を前記第1基準画素で囲まれた前記第2基準画素に含まれる前記被写体までの距離を、前記第2基準画素を囲む第1基準画素によって補間してもよい。
(9)上記(1)から(8)までの何れか1つに記載の画像処理装置では、
前記第1距離が対応付けられた前記基準画素は、第1基準画素であり、
前記第2距離が対応付けられた前記基準画素は、第2基準画素であり、
前記制御部は、前記基準画像において、周囲を前記第2基準画素で囲まれた前記第1基準画素が存在すると判定した場合、周囲を前記第2基準画素で囲まれた前記第1基準画素に含まれる前記被写体までの距離を、前記第1基準画素を囲む第2基準画素によって補間してもよい。
(10)上記(1)から(9)までの何れか1つに記載の画像処理装置では、
前記制御部は、
前記基準画像を、類似する特徴を有する複数の基準画素を含む領域に分割し、
同じ前記領域に含まれる複数の前記基準画素に対応付けられた前記設定距離において、補間処理を実行してもよい。
(11)上記(1)から(10)までの何れか1つに記載の画像処理装置では、
前記制御部は、前記同じ領域に含まれる複数の前記基準画素に対応付けられた設定距離において、外れ値となる前記設定距離を検出した場合、前記外れ値を除去し、前記外れ値となる設定距離以外の他の前記設定距離によって、前記外れ値が対応付けられていた前記基準画素に含まれる前記被写体までの距離を補間してもよい。
(12)上記(1)から(11)までの何れか1つに記載の画像処理装置では、
前記制御部は、
前記複数の第1コスト値及び前記複数の第2コスト値のうちの一方を他方によって補間した複数のコスト値によって、前記複数のコスト値の相関を示す相関関数を作成し、
前記相関関数に基づいて、前記基準画素に含まれる前記被写体までの距離を補間してもよい。
(13)上記(1)から(12)までの何れか1つに記載の画像処理装置では、
前記制御部は、
第1コスト値に対する前記第1距離において、前記第1コスト値が極値となる前記第1距離を特定し、設定距離範囲は、特定した前記第1距離を含む距離範囲であり、
前記複数の前記第2コスト値のうちで、対応する前記第2距離が前記設定距離範囲内になる前記第2コスト値を取得し、
複数の前記第1コスト値及び取得した前記第2コスト値にモデル関数をフィッティングすることにより、前記相関関数を作成してもよい。
一実施形態において、(14)ステレオカメラ装置は、
基準位置で撮像により基準画像を生成し、前記基準画像とは異なる位置で撮像により参照画像を生成するステレオカメラと、
前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得する画像処理装置と、を備え、
前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
前記複数の仮想平面のそれぞれの前記設定距離は、異なる。
一実施形態において、(15)画像処理方法は、
基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得することと、
前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得することと、を含み、
前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
前記複数の仮想平面のそれぞれの前記設定距離は、異なる。
本開示を諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は修正を行うことが容易であることに注意されたい。したがって、これらの変形又は修正は本開示の範囲に含まれることに留意されたい。例えば、各機能部に含まれる機能等は論理的に矛盾しないように再配置可能である。複数の機能部等は、1つに組み合わせられたり、分割されたりしてよい。上述した本開示に係る各実施形態は、それぞれ説明した各実施形態に忠実に実施することに限定されるものではなく、適宜、各特徴を組み合わせたり、一部を省略したりして実施され得る。つまり、本開示の内容は、当業者であれば本開示に基づき種々の変形及び修正を行うことができる。したがって、これらの変形及び修正は本開示の範囲に含まれる。例えば、各実施形態において、各機能部、各手段又は各ステップ等は論理的に矛盾しないように他の実施形態に追加し、若しくは、他の実施形態の各機能部、各手段又は各ステップ等と置き換えることが可能である。また、各実施形態において、複数の各機能部、各手段又は各ステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、上述した本開示の各実施形態は、それぞれ説明した各実施形態に忠実に実施することに限定されるものではなく、適宜、各特徴を組み合わせたり、一部を省略したりして実施することもできる。
例えば、上述した実施形態では、画像処理装置20の制御部24が基準画像及び参照画像に対して歪み補正処理を実行するものとして説明した。ただし、第1カメラ11が、生成した基準画像に対して歪み補正処理を実行してもよい。第2カメラ12が、生成した参照画像に対して歪み補正処理を実行してもよい。第1カメラ11及び第2カメラ12は、それぞれ、基準画像及び参照画像に対して、歪み補正処理に加えて、明度調整処理、コントラスト調整処理、ガンマ補正処理等の任意の画像処理を実行してもよい。
例えば、上述した実施形態では、図3に示すように、第1カメラ11及び第2カメラ12が移動体30の左右方向に沿って位置するものとして説明した。ただし、第1カメラ11及び第2カメラ12の位置は、これに限定されない。他の例として、第1カメラ11及び第2カメラ12は、移動体30の上下方向に沿って位置してもよい。
例えば、上述した実施形態では、第1カメラ11が基準画像を生成し、第2カメラ12が参照画像を生成するものとして説明した。ただし、基準画像及び参照画像は、1つのカメラによって生成されてもよい。この場合、カメラは、移動することにより、基準位置で撮像により基準画像を生成し、基準位置とは異なる位置で撮像により参照画像を生成する。
例えば、上述した実施形態では、第1コスト値C(p,q)が小さいほど、座標pの基準画素P40に含まれる被写体と、座標pの第1仮想画素P42に含まれる被写体との類似度が高いものとして説明した。また、第2コスト値C(p,q)が小さいほど、座標pの基準画素P40に含まれる被写体と、座標pの第2仮想画素P43に含まれる被写体との類似度が高いものとして説明した。ただし、第1コスト値C(p,q)が大きいほど、座標pの基準画素P40に含まれる被写体と、座標pの第1仮想画素P42に含まれる被写体との類似度が高くてもよい。また、第2コスト値C(p,q)が大きいほど、座標pの基準画素P40に含まれる被写体と、座標pの第2仮想画素P43に含まれる被写体との類似度が高くてもよい。この場合、制御部24は、図11を参照して上述した補間処理を実行する場合、第1コスト値C(pB,q)が極値となる第1距離d1として、第1コスト値C(pB,q)が極大値となる第1距離d1を特定する。また、制御部24は、作成した相関関数が極大値となる第1距離d1を特定する。制御部24は、特定した第1距離d1を基準画素P40Bに含まれる被写体までの距離の補間値として取得する。
本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1仮想平面は、第2仮想平面と識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
1 ステレオカメラ装置
10 ステレオカメラ
11 第1カメラ
12 第2カメラ
20 画像処理装置
21 取得部
22 出力部
23 記憶部
24 制御部
30 移動体
40,40a,40b,40c,40d 基準画像
40оb1,40оb2,41оb1,41оb2 部分画像
40X 画像
41,41a,41b 参照画像
42,42a,42a,42a,42 第1仮想画像
43,43b,43b,43b,43 第2仮想画像
44,44 仮想画像
40s 領域
B140 基準ブロック
B240 基準ブロック
B42 仮想ブロック
B43 仮想ブロック
D1 第1方向
D2 第2方向
OX1,OX2 光軸
P40,P40B 基準画素
P40A 注目画素
P40a,P40a1,P40a2 第1基準画素
P40b,P40b1,P40b2 第2基準画素
P42 第1仮想画素
P43 第2仮想画素
P44 仮想画素
s1 設定距離範囲
R1,R2 領域
V1,V1 第1仮想平面
V2,V2 第1仮想平面
V3,V3 仮想平面
оb1 第1被写体
оb2 第2被写体
r,r1,r2,r3,r4,r5,r6,r7,r8 集約方向
v1,v2,v3,v4 ベクトル

Claims (15)

  1. 基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得する取得部と、
    前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得する制御部と、備え、
    前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
    前記複数の仮想平面のそれぞれの前記設定距離は、異なる、画像処理装置。
  2. 前記基準画像及び前記参照画像は、広角レンズによって撮像された画像である、請求項1に記載の画像処理装置。
  3. 前記複数の仮想平面のそれぞれの間隔は、不等間隔である、請求項1に記載の画像処理装置。
  4. 前記複数の仮想平面のそれぞれの間隔は、等間隔である、請求項1に記載の画像処理装置。
  5. 前記基準画像は、複数の基準画素を含み、
    前記仮想画像は、複数の仮想画素を含み、
    前記制御部は、
    前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置との比較として、同じ座標の前記基準画素に含まれる前記被写体と前記複数の仮想画素のそれぞれに含まれる前記被写体との類似度をそれぞれ示す複数のコスト値を算出し、
    動的計画法に基づいて前記コスト値を前記基準画像における集約方向に沿って集約することにより、前記基準画素の1つである注目画素に含まれる前記被写体までの距離を補間し、
    前記集約方向は、前記基準画像における水平方向に沿うベクトル及び鉛直方向に沿うベクトルに基づいて設定される、請求項1から4までの何れか一項に記載の画像処理装置。
  6. 前記複数の仮想平面は、複数の第1仮想平面及び複数の第2仮想平面の両方を含み、
    前記第1仮想平面の法線方向は、前記基準位置で前記基準画像を生成したカメラの光軸方向である第1方向に一致し、
    前記第1仮想平面は、前記第1方向に沿って前記基準位置から第1距離離れて位置し、
    前記第2仮想平面の法線方向は、前記第1方向とは異なる第2方向に一致し、
    前記第2仮想平面は、前記第2方向に沿って前記基準位置から第2距離離れて位置する、請求項1から4までの何れか一項に記載の画像処理装置。
  7. 前記基準画像は、複数の基準画素を含み、
    前記制御部は、
    前記参照画像を前記複数の第1仮想平面に射影変換して複数の第1仮想画像を取得し、前記第1仮想画像は、複数の第1仮想画素を含み、
    前記参照画像を前記複数の第2仮想平面に射影変換して複数の第2仮想画像を取得し、前記第2仮想画像は、複数の第2仮想画素を含み、
    前記制御部は、
    前記基準画像における被写体の位置と前記複数の第1仮想画像のそれぞれにおける前記被写体の位置との比較として、同じ座標の前記基準画素に含まれる前記被写体と前記複数の第1仮想画素のそれぞれに含まれる前記被写体との類似度をそれぞれ示す複数の第1コスト値を算出し、
    前記複数の第1コスト値に基づいて前記基準画素に前記第1距離を対応付け、
    前記基準画像における前記被写体の位置と前記複数の第2仮想画像のそれぞれにおける前記被写体の位置との比較として、同じ座標の前記基準画素に含まれる前記被写体と前記複数の第2仮想画素のそれぞれに含まれる前記被写体との類似度をそれぞれ示す複数の第2コスト値を算出し、
    前記複数の第2コスト値に基づいて前記基準画素に前記第2距離を対応付ける、請求項6に記載の画像処理装置。
  8. 前記第1距離が対応付けられた前記基準画素は、第1基準画素であり、
    前記第2距離が対応付けられた前記基準画素は、第2基準画素であり、
    前記制御部は、前記基準画像において、周囲を前記第1基準画素で囲まれた前記第2基準画素が存在すると判定した場合、周囲を前記第1基準画素で囲まれた前記第2基準画素に含まれる前記被写体までの距離を、前記第2基準画素を囲む第1基準画素によって補間する、請求項7に記載の画像処理装置。
  9. 前記第1距離が対応付けられた前記基準画素は、第1基準画素であり、
    前記第2距離が対応付けられた前記基準画素は、第2基準画素であり、
    前記制御部は、前記基準画像において、周囲を前記第2基準画素で囲まれた前記第1基準画素が存在すると判定した場合、周囲を前記第2基準画素で囲まれた前記第1基準画素に含まれる前記被写体までの距離を、前記第1基準画素を囲む第2基準画素によって補間する、請求項7に記載の画像処理装置。
  10. 前記制御部は、
    前記基準画像を、類似する特徴を有する複数の基準画素を含む領域に分割し、
    同じ前記領域に含まれる複数の前記基準画素に対応付けられた前記設定距離において、補間処理を実行する、請求項3又は4に記載の画像処理装置。
  11. 前記制御部は、前記同じ領域に含まれる複数の前記基準画素に対応付けられた設定距離において、外れ値となる前記設定距離を検出した場合、前記外れ値を除去し、前記外れ値となる設定距離以外の他の前記設定距離によって、前記外れ値が対応付けられていた前記基準画素に含まれる前記被写体までの距離を補間する、請求項10に記載の画像処理装置。
  12. 前記制御部は、
    前記複数の第1コスト値及び前記複数の第2コスト値のうちの一方を他方によって補間した複数のコスト値によって、前記複数のコスト値の相関を示す相関関数を作成し、
    前記相関関数に基づいて、前記基準画素に含まれる前記被写体までの距離を補間する、請求項7に記載の画像処理装置。
  13. 前記制御部は、
    第1コスト値に対する前記第1距離において、前記第1コスト値が極値となる前記第1距離を特定し、設定距離範囲は、特定した前記第1距離を含む距離範囲であり、
    前記複数の前記第2コスト値のうちで、対応する前記第2距離が前記設定距離範囲内になる前記第2コスト値を取得し、
    複数の前記第1コスト値及び取得した前記第2コスト値にモデル関数をフィッティングすることにより、前記相関関数を作成する、請求項12に記載の画像処理装置。
  14. 基準位置で撮像により基準画像を生成し、前記基準画像とは異なる位置で撮像により参照画像を生成するステレオカメラと、
    前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得する画像処理装置と、を備え、
    前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
    前記複数の仮想平面のそれぞれの前記設定距離は、異なる、ステレオカメラ装置。
  15. 基準位置で撮像により生成された基準画像のデータと、前記基準画像とは異なる位置で撮像により生成された参照画像のデータとを取得することと、
    前記参照画像を複数の仮想平面に射影変換して複数の仮想画像を取得し、前記基準画像における被写体の位置と前記複数の仮想画像のそれぞれにおける前記被写体の位置とを比較した結果に基づいて、前記基準位置から前記被写体までの距離を取得することと、を含み、
    前記仮想平面は、前記仮想平面の法線方向に沿って前記基準位置から設定距離離れて位置し、
    前記複数の仮想平面のそれぞれの前記設定距離は、異なる、画像処理方法。
JP2022156989A 2022-09-29 2022-09-29 画像処理装置、ステレオカメラ装置及び画像処理方法 Pending JP2024050248A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022156989A JP2024050248A (ja) 2022-09-29 2022-09-29 画像処理装置、ステレオカメラ装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022156989A JP2024050248A (ja) 2022-09-29 2022-09-29 画像処理装置、ステレオカメラ装置及び画像処理方法

Publications (1)

Publication Number Publication Date
JP2024050248A true JP2024050248A (ja) 2024-04-10

Family

ID=90622139

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022156989A Pending JP2024050248A (ja) 2022-09-29 2022-09-29 画像処理装置、ステレオカメラ装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP2024050248A (ja)

Similar Documents

Publication Publication Date Title
EP2437494B1 (en) Device for monitoring area around vehicle
JP5455124B2 (ja) カメラ姿勢パラメータ推定装置
JP5776173B2 (ja) 撮像装置及び距離測定装置
JP4782899B2 (ja) 視差検出装置、測距装置及び視差検出方法
JP6417886B2 (ja) 視差値導出装置、移動体、ロボット、視差値生産方法、及びプログラム
JP5760559B2 (ja) ステレオカメラ装置、視差画像生成方法
JP6891954B2 (ja) 物体検知装置、物体検知方法、及びプログラム
JP5273356B2 (ja) 複眼画像入力装置及びそれを用いた距離測定装置
JP4414661B2 (ja) ステレオアダプタ及びそれを用いた距離画像入力装置
US11233983B2 (en) Camera-parameter-set calculation apparatus, camera-parameter-set calculation method, and recording medium
JP2004132870A (ja) ステレオカメラの調整装置およびステレオカメラの調整方法
CN110651295B (zh) 图像处理设备、图像处理方法和程序
JP6589313B2 (ja) 視差値導出装置、機器制御システム、移動体、ロボット、視差値導出方法、およびプログラム
JP2018044943A (ja) カメラパラメタセット算出装置、カメラパラメタセット算出方法、および、プログラム
JP2019032409A (ja) ステレオ画像処理装置
US11509813B2 (en) Image processing device
US10812691B2 (en) Image capturing apparatus and image capturing method
JP2018088217A (ja) 情報処理装置、撮像装置、機器制御システム、情報処理方法およびプログラム
JP2024050248A (ja) 画像処理装置、ステレオカメラ装置及び画像処理方法
WO2015182771A1 (ja) 撮像装置、画像処理装置、画像処理方法およびコンピュータプログラム
KR101293263B1 (ko) 복수개의 영상을 합성한 합성 영상에서 거리 정보를 제공하는 기능을 구비하는 영상 처리 장치 및 방법
JP2023157660A (ja) 画像処理装置及び画像処理方法
JP2024049235A (ja) 画像処理装置、ステレオカメラ装置及び画像処理方法
JP2022126527A (ja) 画像処理装置、ステレオカメラ装置、移動体及び画像処理方法
US20230308598A1 (en) Image processing device, image processing method, and storage medium